chore: version packages#78
Merged
Merged
Conversation
9c01ca7 to
15dcc5b
Compare
15dcc5b to
7758168
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@kafkats/[email protected]
Minor Changes
acquireModeconfig ('batch_optimized'default |'record_limit') —record_limitstrictly caps each fetch atmaxRecords.message.renew()to extend the acquisition lock without finalizing delivery; safe to call multiple times per message.ShareAcknowledgeResponse.acquisitionLockTimeoutMsis now decoded on v2 responses.@experimentalmarkers removed; share groups are GA in Kafka 4.2.record_limitandrenew()throw with a clear "requires v2 (Kafka 4.2+)" error against older brokers.Patch Changes
ca7d22f: Correctness and reliability fixes across the producer, consumer, client protocol, and flow state stores.
Producer
flush()now waits for deferred drains so it no longer resolves while writes are still buffered.transactionalSendfreezes its partition set up front to avoid double-calling the partitioner.Retry
TxnOffsetCommiton retriable and rebalance-in-progress errors instead of failing the transaction.Fence the producer on
OUT_OF_ORDER_SEQUENCE_NUMBERto surface the idempotence violation rather than silently corrupting the stream.Reject orphaned in-flight send promises during disconnect so callers are not left hanging.
Consumer
Always reschedule the heartbeat after non-fatal errors, preventing the consumer from dropping out of the group.
Surface auto-commit errors to the consumer instead of swallowing them.
Clear only the successfully committed partitions on a partial commit failure so the rest are retried.
Fence stale fetch responses across partition replacement to avoid delivering records from a revoked assignment.
Client / protocol
Guard against varint shift overflow in the decoder.
Close a
ConnectionPool.acquirerace that could hand out a connection mid-teardown.Clamp the SASL reauthentication delay to the
setTimeoutmaximum.Don't await a response on
Producewithacks=0(the broker sends none).Always use the v0 response header for
ApiVersions, matching broker behavior across versions.Share consumer
Release (rather than acknowledge) the last yielded message on shutdown so unprocessed records are redelivered.
Flow
Write to the local store before the changelog (local-first ordering) to shrink the inconsistency window on crash.
Serialize the EOS commit triggered by a rebalance against the next message, and close the EOS rebalance offset-commit gap via an awaitable rebalance hook (shared with the consumer fix above).
Use stream time (not wall-clock time) for window expiry.
Implement hopping windows (
TimeWindows.advanceBy).Throw on
SlidingWindowsinstead of silently misbehaving (not yet implemented).Correct
TableGroupByNodemapping ordering.Apply retention to
reduceand session aggregators, emitting changelog tombstones for expired state.Surface checkpoint persistence errors instead of swallowing them.
flow-state-lmdb
Make
range()upper bound inclusive, matching the in-memory store.Await
fsyncon checkpoint writes so a checkpoint is durable before it is reported complete.Correct
WindowStoretime-bound math.Use order-preserving signed-i64 encoding for time keys so range scans iterate in correct chronological order.
@kafkats/[email protected]
Minor Changes
acquireModeconfig ('batch_optimized'default |'record_limit') —record_limitstrictly caps each fetch atmaxRecords.message.renew()to extend the acquisition lock without finalizing delivery; safe to call multiple times per message.ShareAcknowledgeResponse.acquisitionLockTimeoutMsis now decoded on v2 responses.@experimentalmarkers removed; share groups are GA in Kafka 4.2.record_limitandrenew()throw with a clear "requires v2 (Kafka 4.2+)" error against older brokers.Patch Changes
ca7d22f: Correctness and reliability fixes across the producer, consumer, client protocol, and flow state stores.
Producer
flush()now waits for deferred drains so it no longer resolves while writes are still buffered.transactionalSendfreezes its partition set up front to avoid double-calling the partitioner.Retry
TxnOffsetCommiton retriable and rebalance-in-progress errors instead of failing the transaction.Fence the producer on
OUT_OF_ORDER_SEQUENCE_NUMBERto surface the idempotence violation rather than silently corrupting the stream.Reject orphaned in-flight send promises during disconnect so callers are not left hanging.
Consumer
Always reschedule the heartbeat after non-fatal errors, preventing the consumer from dropping out of the group.
Surface auto-commit errors to the consumer instead of swallowing them.
Clear only the successfully committed partitions on a partial commit failure so the rest are retried.
Fence stale fetch responses across partition replacement to avoid delivering records from a revoked assignment.
Client / protocol
Guard against varint shift overflow in the decoder.
Close a
ConnectionPool.acquirerace that could hand out a connection mid-teardown.Clamp the SASL reauthentication delay to the
setTimeoutmaximum.Don't await a response on
Producewithacks=0(the broker sends none).Always use the v0 response header for
ApiVersions, matching broker behavior across versions.Share consumer
Release (rather than acknowledge) the last yielded message on shutdown so unprocessed records are redelivered.
Flow
Write to the local store before the changelog (local-first ordering) to shrink the inconsistency window on crash.
Serialize the EOS commit triggered by a rebalance against the next message, and close the EOS rebalance offset-commit gap via an awaitable rebalance hook (shared with the consumer fix above).
Use stream time (not wall-clock time) for window expiry.
Implement hopping windows (
TimeWindows.advanceBy).Throw on
SlidingWindowsinstead of silently misbehaving (not yet implemented).Correct
TableGroupByNodemapping ordering.Apply retention to
reduceand session aggregators, emitting changelog tombstones for expired state.Surface checkpoint persistence errors instead of swallowing them.
flow-state-lmdb
Make
range()upper bound inclusive, matching the in-memory store.Await
fsyncon checkpoint writes so a checkpoint is durable before it is reported complete.Correct
WindowStoretime-bound math.Use order-preserving signed-i64 encoding for time keys so range scans iterate in correct chronological order.
Updated dependencies [ca7d22f]
Updated dependencies [fe140c0]
@kafkats/[email protected]
Minor Changes
acquireModeconfig ('batch_optimized'default |'record_limit') —record_limitstrictly caps each fetch atmaxRecords.message.renew()to extend the acquisition lock without finalizing delivery; safe to call multiple times per message.ShareAcknowledgeResponse.acquisitionLockTimeoutMsis now decoded on v2 responses.@experimentalmarkers removed; share groups are GA in Kafka 4.2.record_limitandrenew()throw with a clear "requires v2 (Kafka 4.2+)" error against older brokers.Patch Changes
ca7d22f: Correctness and reliability fixes across the producer, consumer, client protocol, and flow state stores.
Producer
flush()now waits for deferred drains so it no longer resolves while writes are still buffered.transactionalSendfreezes its partition set up front to avoid double-calling the partitioner.Retry
TxnOffsetCommiton retriable and rebalance-in-progress errors instead of failing the transaction.Fence the producer on
OUT_OF_ORDER_SEQUENCE_NUMBERto surface the idempotence violation rather than silently corrupting the stream.Reject orphaned in-flight send promises during disconnect so callers are not left hanging.
Consumer
Always reschedule the heartbeat after non-fatal errors, preventing the consumer from dropping out of the group.
Surface auto-commit errors to the consumer instead of swallowing them.
Clear only the successfully committed partitions on a partial commit failure so the rest are retried.
Fence stale fetch responses across partition replacement to avoid delivering records from a revoked assignment.
Client / protocol
Guard against varint shift overflow in the decoder.
Close a
ConnectionPool.acquirerace that could hand out a connection mid-teardown.Clamp the SASL reauthentication delay to the
setTimeoutmaximum.Don't await a response on
Producewithacks=0(the broker sends none).Always use the v0 response header for
ApiVersions, matching broker behavior across versions.Share consumer
Release (rather than acknowledge) the last yielded message on shutdown so unprocessed records are redelivered.
Flow
Write to the local store before the changelog (local-first ordering) to shrink the inconsistency window on crash.
Serialize the EOS commit triggered by a rebalance against the next message, and close the EOS rebalance offset-commit gap via an awaitable rebalance hook (shared with the consumer fix above).
Use stream time (not wall-clock time) for window expiry.
Implement hopping windows (
TimeWindows.advanceBy).Throw on
SlidingWindowsinstead of silently misbehaving (not yet implemented).Correct
TableGroupByNodemapping ordering.Apply retention to
reduceand session aggregators, emitting changelog tombstones for expired state.Surface checkpoint persistence errors instead of swallowing them.
flow-state-lmdb
Make
range()upper bound inclusive, matching the in-memory store.Await
fsyncon checkpoint writes so a checkpoint is durable before it is reported complete.Correct
WindowStoretime-bound math.Use order-preserving signed-i64 encoding for time keys so range scans iterate in correct chronological order.
Updated dependencies [ca7d22f]
Updated dependencies [fe140c0]
@kafkats/[email protected]
Minor Changes
acquireModeconfig ('batch_optimized'default |'record_limit') —record_limitstrictly caps each fetch atmaxRecords.message.renew()to extend the acquisition lock without finalizing delivery; safe to call multiple times per message.ShareAcknowledgeResponse.acquisitionLockTimeoutMsis now decoded on v2 responses.@experimentalmarkers removed; share groups are GA in Kafka 4.2.record_limitandrenew()throw with a clear "requires v2 (Kafka 4.2+)" error against older brokers.Patch Changes
ca7d22f: Correctness and reliability fixes across the producer, consumer, client protocol, and flow state stores.
Producer
flush()now waits for deferred drains so it no longer resolves while writes are still buffered.transactionalSendfreezes its partition set up front to avoid double-calling the partitioner.Retry
TxnOffsetCommiton retriable and rebalance-in-progress errors instead of failing the transaction.Fence the producer on
OUT_OF_ORDER_SEQUENCE_NUMBERto surface the idempotence violation rather than silently corrupting the stream.Reject orphaned in-flight send promises during disconnect so callers are not left hanging.
Consumer
Always reschedule the heartbeat after non-fatal errors, preventing the consumer from dropping out of the group.
Surface auto-commit errors to the consumer instead of swallowing them.
Clear only the successfully committed partitions on a partial commit failure so the rest are retried.
Fence stale fetch responses across partition replacement to avoid delivering records from a revoked assignment.
Client / protocol
Guard against varint shift overflow in the decoder.
Close a
ConnectionPool.acquirerace that could hand out a connection mid-teardown.Clamp the SASL reauthentication delay to the
setTimeoutmaximum.Don't await a response on
Producewithacks=0(the broker sends none).Always use the v0 response header for
ApiVersions, matching broker behavior across versions.Share consumer
Release (rather than acknowledge) the last yielded message on shutdown so unprocessed records are redelivered.
Flow
Write to the local store before the changelog (local-first ordering) to shrink the inconsistency window on crash.
Serialize the EOS commit triggered by a rebalance against the next message, and close the EOS rebalance offset-commit gap via an awaitable rebalance hook (shared with the consumer fix above).
Use stream time (not wall-clock time) for window expiry.
Implement hopping windows (
TimeWindows.advanceBy).Throw on
SlidingWindowsinstead of silently misbehaving (not yet implemented).Correct
TableGroupByNodemapping ordering.Apply retention to
reduceand session aggregators, emitting changelog tombstones for expired state.Surface checkpoint persistence errors instead of swallowing them.
flow-state-lmdb
Make
range()upper bound inclusive, matching the in-memory store.Await
fsyncon checkpoint writes so a checkpoint is durable before it is reported complete.Correct
WindowStoretime-bound math.Use order-preserving signed-i64 encoding for time keys so range scans iterate in correct chronological order.
Updated dependencies [ca7d22f]
Updated dependencies [fe140c0]